package controllers

import (
	"fmt"

	"github.com/kataras/iris/v12"
)

type Whisper struct {
	*baseController
}

func NewWhisper() *Whisper {
	props := []string{
		"_apis",
		"#key",
		"POST:"}
	item := GenBaseController("Whisper", props)
	return &Whisper{item}
}

func (c *Whisper) GetBy(key string) iris.Map {
	if len(key) == 0 {
		return c.Fail()
	} else {
		return c.Rise(fmt.Sprintf("Request： %s", key))
	}
}

func (c *Whisper) Post(ctx iris.Context) iris.Map {
	item := KVItem{}
	if err := ctx.ReadJSON(&item); err != nil {
		return c.Fail()
	} else {
		return c.Rise(fmt.Sprintf("key: %s,value: %s", item.Key, item.Value))
	}
}

// 首字母必须使用大写字母，否则无法解析
type KVItem struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}
